package com.qf.admin.service;

import com.qf.admin.domain.AddAddress;
import com.qf.admin.domain.Address;
import com.qf.admin.domain.Orders;
import com.qf.commons.TableData;

import java.util.Date;
import java.util.List;

public interface AddressService {
    // 根据用户id获取用户的收货地址
    List<Address> getAddressByUserId(Integer userId);

    /**
     * 更改指定用户的收货地址，
     * @param userId
     * @param addressId  被设置为收货地址的id
     */
    void changeTakeDeliveryAddress(Integer userId, Integer addressId);

    //添加地址
    void addAddress(Integer userId, String addressName, String phone, String detail, Integer state);

    //修改地址
    void updateAddress(Integer userId, String addressName, String phone, String detail,Integer addressId);

    //删除地址
    void deleteAddress(Integer userId, Integer addressId);

    //根据aid查询地址
    Address getAddressByAid(Integer aid);

    
    //获取订单管理的信息
    TableData<Orders> getAddress(String name, String goods, Integer status, Integer number, Date beginDate, Date endDate, Integer limit, Integer offset);

    //改变订单的地址
    void changeOrderAddress(Integer userId,Integer aid,Integer changeId);

    //获取订单对应用户的信息
    Orders getAddressUser(Integer id);

    //获取订单可选地址

    List <AddAddress> getAddAddress(Integer userId);

    void changeDefaultAddress(int userId, int addressId);
}
